package com.yxw.yx_hotel.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yxw.yx_hotel.dto.PostQueryDTO;
import com.yxw.yx_hotel.entity.YxCsPostEntity;
import com.yxw.yx_hotel.vo.PostVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 岗位管理Mapper接口
 *
 * @author xiexuxin
 * @date 2023-09-17
 */
@Repository
public interface PostMapper extends BaseMapper<YxCsPostEntity> {

    /**
     * 删除岗位
     *
     * @param postIds 需要删除的数据主键集合
     * @return 结果
     */
    int deleteByPostIds(List<Long> postIds);

    /**
     * 根据id查询岗位数据详情
     *
     * @param postId
     * @return
     */
    PostVO selectPostById(Long postId);

    /**
     * 查询岗位列表
     *
     * @return
     */
    List<PostVO> postList(@Param("tenantId") Long tenantId);

    /**
     * 条件查询列表数据
     *
     * @param page
     * @param dto
     * @return
     */
    List<PostVO> getPostByCondition(Page<PostVO> page, @Param("dto") PostQueryDTO dto);

    /**
     * 根据部门查询岗位
     *
     * @param deptId
     * @return
     */
    List<PostVO> selectPostByDept(@Param("deptId") Long deptId, @Param("tenantId") Long tenantId);
}
